1. Field of the Invention
The present invention generally relates to switching between processes in a processing unit.
2. Background Art
During operation, embedded programs within a processing unit, such as a graphics processing unit (GPU), known as software schedulers, read content, such as data packets from the GPU's command buffers to perform graphics processing tasks. The performance of these tasks routinely requires the software to switch from reading of the contents of one command buffer to begin reading, or executing, content from another command buffer. Conventional GPUs, however, cannot efficiently switch from one process to another, and then resume the earlier process. This switching inefficiency produces system latencies, ultimately resulting in slower system performance and reduced user control.
What is needed, therefore, are methods and systems to efficiently enable software schedulers to determine which command buffers' content should be read, and to efficiently switch between these various buffers and processes. What are also needed are methods and systems to reduce system latency and increase the control of scheduling to a program running on the GPU.